As larger cloud computing architectures are introduced, the performance and administrative bottlenecks associated with the traditional network and storage have become a significant problem. There has been an increased interest in using high performance lossless interconnects such as InfiniBand (IB) technology as the foundation for a cloud computing fabric.
The 48K unicast local identification (LID) value space in a single IB subnet represents a limitation for the size of the subnet in terms of number of end nodes. This limit is of particular importance when virtualized host channel adapters (HCAs) provide multiple virtual HCA instances where each such virtual HCA instance may be configured with an independent LID for each virtual port.
The IB standard specification defines router nodes in order to allow multiple subnets to be connected within the same IB fabric and support packet forwarding based on mapping of fabric wide 128 bit destination global identifier (DGID) address values to 16 bit destination LID (DLID) address values for each intermediate subnet as well as for the final target subnet.
However, mapping of 128 bit DGID values to 16 bit DLID values at IB wire speed requires complex content addressable memory (CAM) based lookup hardware that has limited scalability in terms of the number of individual DGIDs that can be uniquely looked up (i.e. within reasonable cost/complexity constraints for the hardware implementation). This implies that in order to scale to a large number of individual destinations, the mapping of 128 bit DGID values to 16 bit DLID values must be flexible and must be able to use a hierarchical scheme so that a large number of individual DGID addresses can be mapped via a single lookup entry.
However, while a hierarchical mapping structure represents scalability in terms of the total number of subnets and end nodes that can be represented, it also represents a severe limitation of the ability to route individual destinations independently in order to maintain load-balancing and QOS constraints for different flows and workloads throughout the multi-subnet fabric.
In addition, the InfiniBand (IB) specification requires that the HCAs are able to receive packets with global Route Headers (GRHs) where the subnet prefix of the Destination GID (DGID) of the incoming GRH is either a default prefix or a single prefix that has been assigned to the relevant HCA port by the local Subnet Manager (SM). While this allows flexibility in terms of allowing a subnet to migrate from using the default prefix to using an assigned prefix, it does not however resolve the issue of changing the assigned prefix value dynamically at run time. This situation also does not allow a global fabric implementation to use multiple subnet prefix values in order to control the routing for one or more end-nodes that each have one or more fixed Global Unique Identifier (GUID) values.
This is the general area that embodiments of the claimed invention are intended to address.